//package com.surfilter.massdata.es.core.model;
//
//import static org.elasticsearch.common.xcontent.XContentFactory.jsonBuilder;
//
//import java.io.IOException;
//import java.util.List;
//import java.util.Map;
//
//import org.elasticsearch.common.xcontent.XContentBuilder;
//import org.elasticsearch.common.xcontent.XContentFactory;
//
//import com.surfilter.massdata.es.core.entity.EsEntity;
//import com.surfilter.massdata.es.core.util.EsUtil;
//import com.surfilter.massdata.es.core.util.StringUtil;
//
//public class EsProvinceTld implements EsEntity<ProvinceTld>{
//
//	@Override
//	public XContentBuilder createMappingJson(String typeName)
//			throws IOException {
//		XContentBuilder mapping = jsonBuilder()
//				.startObject()
//					.startObject(typeName)
//						.startObject("_source")
//							.field("enabled", true)
//							.endObject()
//						.startObject("_all")
//							.field("enabled", false)
//							.endObject()
//						.startObject("properties")
//							.startObject("id")
//								.field("type", "long")
//							.endObject()
//							.startObject("topDomain")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//							.endObject()
//							.startObject("siteName")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//							.endObject()
//							.startObject("licenseKey")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//							.endObject()
//							.startObject("recordState")
//								.field("type", "long")
//							.endObject()
//							.startObject("isBlack")
//								.field("type", "long")
//							.endObject()
//							.startObject("isAlive")
//								.field("type", "long")
//							.endObject()
//							.startObject("joinCount")
//								.field("type", "long")
//							.endObject()
//							.startObject("registrarName")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//							.endObject()
//							.startObject("cnDomainName")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//							.endObject()
//							.startObject("joinUnitIds")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//							.endObject()
//							.startObject("industryType")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//							.endObject()
//							.startObject("industryTypeName")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//							.endObject()
//							.startObject("qzzxSpCjlx")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//							.endObject()
//							.startObject("qzzxSpCjlxName")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//							.endObject()
//							.startObject("findTime") 
//								.field("type", "date")
//								.field("format", "yyyy-MM-dd HH:mm:ss")
//							.endObject()
//							.startObject("detectionTime") 
//								.field("type", "date")
//								.field("format", "yyyy-MM-dd HH:mm:ss")
//							.endObject()
//							.startObject("sfCdn")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//							.endObject()
//							.startObject("ips")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//								.field("index_name", "ip")
//							.endObject()
//							.startObject("jrsIds")
//								.field("type", "long")
//								.field("index_name", "jrsId")
//							.endObject()
//							.startObject("jrsMcs")
//								.field("type", "string")
//								.field("index", "no")
//								.field("index_name", "jrsMc")
//							.endObject()
//							.startObject("idcIspIds")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//								.field("index_name", "idcIspId")
//							.endObject()
//							.startObject("houseCodes")
//								.field("type", "string")
//								.field("index", "not_analyzed")
//								.field("index_name", "houseCode")
//							.endObject()
//							.startObject("shengIds")
//								.field("type", "long")
//								.field("index_name", "shengId")
//								.field("index", "no")
//							.endObject()								
//						    .startObject("shiIds")
//								.field("type", "long")
//								.field("index_name", "shiId")
//								.field("index", "no")
//							.endObject()
//							.startObject("xianIds")
//								.field("type", "long")
//								.field("index_name", "xianId")
//								.field("index", "no")
//							.endObject()
//						.endObject()
//					.endObject()
//				.endObject();
//		return mapping;
//	}
//
//	@Override
//	public XContentBuilder buildEntity(ProvinceTld provinceTld) throws IOException {
//		
//		// ip 字段非空
//		String[] arrIp = provinceTld.getIp().split(",");
//		int arrSize = arrIp.length;
//		String splitStr = ",";
//		
//		
//		Object[] arrShengId = EsUtil.transformLongArr(provinceTld.getShengId()
//				, splitStr, arrSize);
//		Object[] arrShiId = EsUtil.transformLongArr(provinceTld.getShiId()
//				, splitStr, arrSize);
//		Object[] arrXianId = EsUtil.transformLongArr(provinceTld.getXianId()
//				, splitStr, arrSize);
//		
//		Object[] arrJrsId = EsUtil.transformLongArr(provinceTld.getJrsId()
//				, splitStr, arrSize);
//		String[] arrJrsMc = EsUtil.transformStringArr(provinceTld.getJrsMc()
//				, splitStr, arrSize);
//		String[] arrIdcIspId = EsUtil.transformStringArr(provinceTld.getIdcIspId()
//				, splitStr, arrSize);
//		
//		String[] arrHouseCode = EsUtil.transformStringArr(provinceTld.getHouseCode()
//				, splitStr, arrSize);
//		
//		XContentBuilder source = XContentFactory.jsonBuilder().startObject()
//				.field("id" , provinceTld.getId() )
//				.field("topDomain" , provinceTld.getTopDomain() )
//				.field("siteName" , provinceTld.getSiteName() )
//				.field("licenseKey" , provinceTld.getLicenseKey() )
//				.field("recordState" , provinceTld.getRecordState() )
//				.field("isBlack" , provinceTld.getIsBlack() )
//				.field("isAlive" , provinceTld.getIsAlive() )
//				.field("joinCount" , provinceTld.getJoinCount() )
//				.field("registrarName" , provinceTld.getRegistrarName() )
//				.field("cnDomainName" , provinceTld.getCnDomainName() )
//				.field("joinUnitIds" , provinceTld.getJoinUnitIds() )
//				.field("industryType" , provinceTld.getIndustryType() )
//				.field("industryTypeName" , provinceTld.getIndustryTypeName() )
//				.field("qzzxSpCjlx" , provinceTld.getQzzxSpCjlx() )
//				.field("qzzxSpCjlxName" , provinceTld.getQzzxSpCjlxName() )
//				.field("findTime" , provinceTld.getFindTime() )
//				.field("detectionTime" , provinceTld.getDetectionTime() )
//				.field("sfCdn" , provinceTld.getSfCdn() )
//				
//				.array("ips" , arrIp )
//				.array("jrsIds" , arrJrsId )
//				.array("jrsMcs" , arrJrsMc )
//				.array("idcIspIds" , arrIdcIspId )
//				.array("houseCodes" , arrHouseCode )
//				.array("shengIds" , arrShengId )
//				.array("shiIds" , arrShiId )
//				.array("xianIds" , arrXianId )
//			.endObject();
//		return source;
//	}
//
//	@Override
//	public ProvinceTld recoveEntity(Map<String, Object> propertiesMap) {
//		ProvinceTld objProvinceTld = new ProvinceTld();
//		for (String key : propertiesMap.keySet()) {
//			if ("id".equals( key )  &&  propertiesMap.get(key) != null ) {
//				 objProvinceTld.setId(Long.valueOf(propertiesMap.get(key).toString()));
//			}
//			 else if ("topDomain".equals( key ) ) {
//				 objProvinceTld.setTopDomain((String)propertiesMap.get(key));
//			}
//			 else if ("siteName".equals( key ) ) {
//				 objProvinceTld.setSiteName((String)propertiesMap.get(key));
//			}
//			 else if ("licenseKey".equals( key ) ) {
//				 objProvinceTld.setLicenseKey((String)propertiesMap.get(key));
//			}
//			 else if ("recordState".equals( key )  &&  propertiesMap.get(key) != null ) {
//				 if (propertiesMap.get(key) != null &&
//						 StringUtil.isNotNull(propertiesMap.get(key).toString())) {
//					 objProvinceTld.setRecordState(Long.valueOf(propertiesMap.get(key).toString()));
//				 } else {
//					 objProvinceTld.setRecordState(null);
//				 }
//			}
//			 else if ("isBlack".equals( key )  &&  propertiesMap.get(key) != null ) {
//				 if (propertiesMap.get(key) != null &&
//						 StringUtil.isNotNull(propertiesMap.get(key).toString())) {
//					 objProvinceTld.setIsBlack(Long.valueOf(propertiesMap.get(key).toString()));
//				 } else {
//					 objProvinceTld.setIsBlack(null);
//				 }
//			}
//			 else if ("isAlive".equals( key )  &&  propertiesMap.get(key) != null ) {
//				 if (propertiesMap.get(key) != null &&
//						 StringUtil.isNotNull(propertiesMap.get(key).toString())) {
//					 objProvinceTld.setIsAlive(Long.valueOf(propertiesMap.get(key).toString()));
//				 } else {
//					 objProvinceTld.setIsAlive(null);
//				 }
//			}
//			 else if ("joinCount".equals( key )  &&  propertiesMap.get(key) != null ) {
//				 if (propertiesMap.get(key) != null &&
//						 StringUtil.isNotNull(propertiesMap.get(key).toString())) {
//					 objProvinceTld.setJoinCount(Long.valueOf(propertiesMap.get(key).toString()));
//				 } else {
//					 objProvinceTld.setJoinCount(null);
//				 }
//			}
//			 else if ("registrarName".equals( key ) ) {
//				 objProvinceTld.setRegistrarName((String)propertiesMap.get(key));
//			}
//			 else if ("cnDomainName".equals( key ) ) {
//				 objProvinceTld.setCnDomainName((String)propertiesMap.get(key));
//			}
//			 else if ("joinUnitIds".equals( key ) ) {
//				 objProvinceTld.setJoinUnitIds((String)propertiesMap.get(key));
//			}
//			 else if ("industryType".equals( key ) ) {
//				 objProvinceTld.setIndustryType((String)propertiesMap.get(key));
//			}
//			 else if ("industryTypeName".equals( key ) ) {
//				 objProvinceTld.setIndustryTypeName((String)propertiesMap.get(key));
//			}
//			 else if ("qzzxSpCjlx".equals( key ) ) {
//				 objProvinceTld.setQzzxSpCjlx((String)propertiesMap.get(key));
//			}
//			 else if ("qzzxSpCjlxName".equals( key ) ) {
//				 objProvinceTld.setQzzxSpCjlxName((String)propertiesMap.get(key));
//			}
//			 else if ("findTime".equals( key ) ) {
//				 objProvinceTld.setFindTime((String)propertiesMap.get(key));
//			}
//			 else if ("detectionTime".equals( key ) ) {
//				 objProvinceTld.setDetectionTime((String)propertiesMap.get(key));
//			}
//			 else if ("sfCdn".equals( key ) ) {
//				 objProvinceTld.setSfCdn((String)propertiesMap.get(key));
//			}
//			 else if ("ips".equals( key ) ) {
//				 List<String> lstIps = (List<String>) propertiesMap.get(key);
//				 StringBuffer sb = new StringBuffer();
//				 for (int i = 0 ,size = lstIps.size(); i < size; i++) {
//					 sb.append(lstIps.get(i));
//					 if (i < size-1 ) {
//						sb.append(",");
//					}
//				 }
//				 objProvinceTld.setIp(sb.toString());
//				 sb.delete(0, sb.length());
//			}
//			 else if ("jrsIds".equals( key ) ) {
//				 List<Long> lstIps = (List<Long>) propertiesMap.get(key);
//				 StringBuffer sb = new StringBuffer();
//				 for (int i = 0 ,size = lstIps.size(); i < size; i++) {
//					 sb.append(lstIps.get(i));
//					 if (i < size-1 ) {
//						sb.append(",");
//					}
//				 }
//				 objProvinceTld.setJrsId(sb.toString());
//				 sb.delete(0, sb.length());
//			}
//			 else if ("jrsMcs".equals( key ) ) {
//				 List<String> lstIps = (List<String>) propertiesMap.get(key);
//				 StringBuffer sb = new StringBuffer();
//				 for (int i = 0 ,size = lstIps.size(); i < size; i++) {
//					 sb.append(lstIps.get(i));
//					 if (i < size-1 ) {
//						sb.append(",");
//					}
//				 }
//				 objProvinceTld.setJrsMc(sb.toString());
//				 sb.delete(0, sb.length());
//			}
//			 else if ("idcIspIds".equals( key ) ) {
//				 List<String> lstIps = (List<String>) propertiesMap.get(key);
//				 StringBuffer sb = new StringBuffer();
//				 for (int i = 0 ,size = lstIps.size(); i < size; i++) {
//					 sb.append(lstIps.get(i));
//					 if (i < size-1 ) {
//						sb.append(",");
//					}
//				 }
//				 objProvinceTld.setIdcIspId(sb.toString());
//				 sb.delete(0, sb.length());
//			}
//			 else if ("houseCodes".equals( key ) ) {
//				 List<String> lstHouseCode = (List<String>) propertiesMap.get(key);
//				 StringBuffer sb = new StringBuffer();
//				 for (int i = 0 ,size = lstHouseCode.size(); i < size; i++) {
//					 sb.append(lstHouseCode.get(i));
//					 if (i < size-1 ) {
//						sb.append(",");
//					}
//				 }
//				 objProvinceTld.setHouseCode(sb.toString());
//				 sb.delete(0, sb.length());
//			}
//			 else if ("shengIds".equals( key ) ) {
//				 List<Long> lstIps = (List<Long>) propertiesMap.get(key);
//				 StringBuffer sb = new StringBuffer();
//				 for (int i = 0 ,size = lstIps.size(); i < size; i++) {
//					 sb.append(lstIps.get(i));
//					 if (i < size-1 ) {
//						sb.append(",");
//					}
//				 }
//				 objProvinceTld.setShengId(sb.toString());
//				 sb.delete(0, sb.length());
//			}
//			 else if ("shiIds".equals( key ) ) {
//				 List<Long> lstIps = (List<Long>) propertiesMap.get(key);
//				 StringBuffer sb = new StringBuffer();
//				 for (int i = 0 ,size = lstIps.size(); i < size; i++) {
//					 sb.append(lstIps.get(i));
//					 if (i < size-1 ) {
//						sb.append(",");
//					}
//				 }
//				 objProvinceTld.setShiId(sb.toString());
//				 sb.delete(0, sb.length());
//			}
//			 else if ("xianIds".equals( key ) ) {
//				 List<Long> lstIps = (List<Long>) propertiesMap.get(key);
//				 StringBuffer sb = new StringBuffer();
//				 for (int i = 0 ,size = lstIps.size(); i < size; i++) {
//					 sb.append(lstIps.get(i));
//					 if (i < size-1 ) {
//						sb.append(",");
//					}
//				 }
//				 objProvinceTld.setXianId(sb.toString());
//				 sb.delete(0, sb.length());
//			}
//
//		}
//		return objProvinceTld;
//	}
//
//	@Override
//	public XContentBuilder buildUpdateEntity(ProvinceTld t) throws IOException {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//}
